package com.ruoyi.publish.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 审批记录信息对象 approval_record
 *
 * @author confusefox
 * @date 2020-12-15
 */
public class ApprovalRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 审核记录id
     */
    @Excel(name = "审核记录id")
    private Long recordId;

    /**
     * 审批人id
     */
    @Excel(name = "审批人id")
    private Long approvalUser;

    /**
     * 审批人名称
     */
    @Excel(name = "审批人名称")
    private String approvalUserName;

    /**
     * 审批时间
     */
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")

    private Date approvalTime;

    /**
     * 审批状态(1、通过、2、不通过)
     */
    @Excel(name = "审批状态(1、通过、2、不通过)")
    private Integer approvalStatus;

    /**
     * 审批原因
     */
    @Excel(name = "审批原因")
    private String approvalReason;

    /**
     * 审批层次
     */
    @Excel(name = "审批层次")
    private Integer approvalLevel;


    private String approvalTitle;

    private int approvalType;

    /**
     * 审核记录类型,1：鉴定报告、2：受理登记、.........
     */
    private Integer systemModule;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setApprovalUser(Long approvalUser) {
        this.approvalUser = approvalUser;
    }

    public Long getApprovalUser() {
        return approvalUser;
    }

    public void setApprovalUserName(String approvalUserName) {
        this.approvalUserName = approvalUserName;
    }

    public String getApprovalUserName() {
        return approvalUserName;
    }

    public void setApprovalTime(Date approvalTime) {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() {
        return approvalTime;
    }

    public void setApprovalStatus(Integer approvalStatus) {
        this.approvalStatus = approvalStatus;
    }

    public Integer getApprovalStatus() {
        return approvalStatus;
    }

    public void setApprovalReason(String approvalReason) {
        this.approvalReason = approvalReason;
    }

    public String getApprovalReason() {
        return approvalReason;
    }

    public void setApprovalLevel(Integer approvalLevel) {
        this.approvalLevel = approvalLevel;
    }

    public Integer getApprovalLevel() {
        return approvalLevel;
    }

    public String getApprovalTitle() {
        return approvalTitle;
    }

    public void setApprovalTitle(String approvalTitle) {
        this.approvalTitle = approvalTitle;
    }

    public int getApprovalType() {
        return approvalType;
    }

    public void setApprovalType(int approvalType) {
        this.approvalType = approvalType;
    }

    public Integer getSystemModule() {
        return systemModule;
    }

    public void setSystemModule(Integer systemModule) {
        this.systemModule = systemModule;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("recordId", getRecordId())
                .append("approvalUser", getApprovalUser())
                .append("approvalUserName", getApprovalUserName())
                .append("approvalTime", getApprovalTime())
                .append("approvalStatus", getApprovalStatus())
                .append("approvalReason", getApprovalReason())
                .append("approvalLevel", getApprovalLevel())
                .append("approvalTitle", getApprovalTitle())
                .append("approvalType", getApprovalType())
                .append("systemModule", getSystemModule())
                .toString();
    }
}
